/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import entidades.Convenio;
import entidades.Entidad;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import negocio.ConvenioInterface;
import negocio.EntidadInterface;
/**
 *
 * @author PC
 */

@ManagedBean
@ViewScoped
public class CargueConvenio {
    
    private EntidadInterface entidadInterface;
    private List<Entidad> listaEntidades;
    private String entidadSelected;
    private String  nombreConvenio;
    private String fechaInicio;
    private String fechaFinal;
    private String observacionesConvenio;
            
    private boolean ENTIDAD_VISIBLE = true;
    
    private Convenio convenio;
    @EJB
    private ConvenioInterface convenioInterface;
    @ManagedProperty(value = "#{sessionBean}")
    private SessionBean sessionBean;
    
    public CargueConvenio(){
    }
    
    @PostConstruct
    public void inicializarVariables(){
        convenio = new Convenio();
        try{
            InitialContext ctx = new InitialContext();
            entidadInterface = (EntidadInterface) ctx.lookup("EntidadEJB"); 
            listaEntidades = entidadInterface.listarEntidadesVisibles(ENTIDAD_VISIBLE);
        } catch (NamingException ex) {
            Logger.getLogger(CargueConvenio.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void guardarConvenio(){
        System.out.println("Entra Guardar Convenio");
        try{
            convenio.setIdEntidad(entidadInterface.consultarEntidad(Integer.parseInt(entidadSelected)));
            convenio.setIdEntidad(new Entidad(Integer.parseInt(entidadSelected)) );
//            convenio.setNombreConvenio(new Convenio(String));
            convenio.setIdConvenio(convenioInterface.obtenerMaxId());
            convenioInterface.crear(convenio);
            FacesMessage facesMessage = new FacesMessage("Guardado con éxito");
            FacesContext.getCurrentInstance().addMessage(null, facesMessage);
            limpiarCampos();
        }catch(Exception e){
            FacesMessage facesMessage = new FacesMessage("Error");
            FacesContext.getCurrentInstance().addMessage(null, facesMessage);
            e.printStackTrace();
            }
    }
    
    private void limpiarCampos(){
        entidadSelected = "";
        convenio = null;
    }

    public Convenio getConvenio() {
        return convenio;
    }

    public void setConvenio(Convenio convenio) {
        this.convenio = convenio;
    }

    public String getNombreConvenio() {
        return nombreConvenio;
    }

    public void setNombreConvenio(String nombreConvenio) {
        this.nombreConvenio = nombreConvenio;
    }

    public String getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(String fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    public String getFechaFinal() {
        return fechaFinal;
    }

    public void setFechaFinal(String fechaFinal) {
        this.fechaFinal = fechaFinal;
    }

    public String getObservacionesConvenio() {
        return observacionesConvenio;
    }

    public void setObservacionesConvenio(String observacionesConvenio) {
        this.observacionesConvenio = observacionesConvenio;
    }

    public ConvenioInterface getConvenioInterface() {
        return convenioInterface;
    }

    public void setConvenioInterface(ConvenioInterface convenioInterface) {
        this.convenioInterface = convenioInterface;
    }

    public SessionBean getSessionBean() {
        return sessionBean;
    }

    public void setSessionBean(SessionBean sessionBean) {
        this.sessionBean = sessionBean;
    }

    public List<Entidad> getListaEntidades() {
        return listaEntidades;
    }

    public void setListaEntidades(List<Entidad> listaEntidades) {
        this.listaEntidades = listaEntidades;
    }

    public String getEntidadSelected() {
        return entidadSelected;
    }

    public void setEntidadSelected(String entidadSelected) {
        this.entidadSelected = entidadSelected;
    }
    
    
}
